home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 2001-09-09 | 1.1 KB | 50 lines |
- Screen Open 0,320,256,2,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Palette 0,$FFF
- Double Buffer : Autoback 0
- B=3
- Dim B(B-1,6)
- Global B,B()
- For A=0 To 2
- SETUPBOUBLE[Rnd(160)+80,Rnd(40)+10,Rnd(40)-20,Rnd(20),Rnd(20)+5]
- Next
- C=1
- Do
- Screen Swap
- Wait Vbl
- Ink 0 : DELBOUBLES
- Ink 1 : Box 0,0 To 319,255
- MOVBOUBLES
- DRWBOUBLES
- Loop
- Procedure SETUPBOUBLE[X,Y,RX,RY,G]
- For A=0 To B-1
- If B(A,4)=0
- B(A,0)=X*10 : B(A,1)=Y*10
- B(A,2)=RX : B(A,3)=RY
- B(A,4)=G : Exit
- End If
- Next
- End Proc
- Procedure DRWBOUBLES
- For A=0 To B-1
- If B(A,4)>0 Then Extension_8_05F8 B(A,0)/10,B(A,1)/10,B(A,4)-Rnd(3),B(A,4)-Rnd(3)
- Next
- End Proc
- Procedure DELBOUBLES
- For A=0 To B-1
- If B(A,4)>0 Then Bar B(A,5)/10-B(A,4),B(A,6)/10-B(A,4) To B(A,5)/10+B(A,4),B(A,6)/10+B(A,4)
- Next
- End Proc
- Procedure MOVBOUBLES
- For A=0 To B-1
- If B(A,4)>0
- B(A,5)=B(A,0) : B(A,6)=B(A,1)
- Add B(A,0),B(A,2)
- Add B(A,1),B(A,3)
- Inc B(A,3)
- If B(A,1)+B(A,3)>2560-B(A,4)*10 : B(A,3)=-Rnd(100)+1 : End If
- If(B(A,0)+B(A,2)<B(A,4)*10) or(B(A,0)+B(A,2)>3200-B(A,4)*10) : B(A,2)=-B(A,2) : End If
- End If
- Next
- End Proc